package com.ithinkstudio.jeez.dao;

import com.ithinkstudio.jeez.entity.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import java.io.Serializable;
import java.util.List;

/**
 * 用户DAO层
 *
 * @author felix
 */
public interface IUserRepository {
    /**
     * 添加
     * @param model
     */
    void insert(User model);

    /**
     * 修改
     * @param model
     */
    void update(User model);

    /**
     * 删除
     * @param model
     */
    void delete(User model);

    /**
     * 删除
     * @param key
     */
    void delete(Serializable key);

    /**
     * 根据ID查询
     * @param key
     * @return
     */
    User findById(Serializable key);

    /**
     * 根据hql查询集合
     * @param hql
     * @param args
     * @return
     */
    List<User> list(String hql, Object[] args);
}
